﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Domain.Type;

namespace WebMVC.Models
{
    public class DataTemplateViewModel
    {
        public int DataTemplateId { get; set; }
        public string Name { get; set; }
        public string TemplateXML { get; set; }
        public string ProductType { get; set; }
        public string ThumbnailPath { get; set; }
    }

    public class PaperViewModel
    {
        public string Code { get; set; }
        public string BrandName { get; set; }
        public string ImgPath { get; set; }
        public string Description { get; set; }
        public string Name { get; set; }
        public string Type { get; set; }
        public bool Selected { get; set; }
    }

    public class PrintMethodViewModel
    {
        public string Code { get; set; }
        public string Name { get; set; }
        public string ImgPath { get; set; }
        public string Description { get; set; }
        public bool Selected { get; set; }
    }

    public class ProductViewModel
    {
        public long ProductId { get; set; }
        public string Name { get; set; }
        public string TypeKey { get; set; }
        public int DefaultDataTemplateId { get; set; }
        public string ThumbnailPath { get; set; }
        public string DesignPath { get; set; }
    }

    public class ProductWizardViewModel
    {
        public WizardStepStatus DesignStepStatus { get; set; }
        public WizardStepStatus ConfigStepStatus { get; set; }
        public WizardStepStatus OrderStepStatus { get; set; }
    }

    public enum WizardStepStatus
    {
        Active,
        Passed,
        Inactive
    }

    public class PriceCalculationViewModel
    {
        public string ProductType { get; set; }
        public List<SelectListItem> ProductTypes { get; set; }

        public ColorMode ColorMode { get; set; }
        public List<SelectListItem> ColorModes { get; set; }

        public string PrintMediaCode { get; set; }
        public List<SelectListItem> PrintMedias { get; set; }

        public int FormFactorId { get; set; }

        public int Quantity { get; set; }

    }

    public class ProductListItemViewModel
    {
        public string ProductTypeId { get; set; }
        public decimal ReferencePrice { get; set; }
        public int ReferenceQuantity { get; set; }
        public string Name { get; set; }
        public string ImgPath { get; set; }
    }

    public class PriceListItemViewModel
    {
        public int Quantity { get; set; }
        public decimal Price4x0 { get; set; }
        public decimal Price4x1 { get; set; }
        public decimal Price4x4 { get; set; }
        public decimal Price1x0 { get; set; }
        public decimal Price1x1 { get; set; }
    }

    public class SheetPrintViewModel
    {
        public List<PriceListItemViewModel> A4PriceList { get; set; }
        public List<PriceListItemViewModel> A3PriceList { get; set; }
        public List<PriceListItemViewModel> SRA3PriceList { get; set; }

    }
}
